Resumão dos principais assuntos para a prova do CREMERS de acordo com o edital e provas relacionadas.
Resumo Geral Prova CREMERS 2024
Veja abaixo um resumo com os principais assuntos que provavelmente irão cair na prova do CREMERS, junto com questões e respostas relacionados.
Guia Completo para Preparação em Concursos: Tecnologia da Informação e Computação
Nos concursos públicos da área de Tecnologia da Informação (TI) e Computação, é essencial ter um amplo conhecimento em diversos tópicos, que abrangem desde fundamentos de computação até metodologias ágeis e qualidade de software. Este guia abordará cada um desses assuntos de forma abrangente, destacando o que é comumente cobrado em concursos e fornecendo uma base sólida de conhecimento para os candidatos.
Fundamentos de Computação
Os fundamentos de computação são a base para compreender todos os aspectos da tecnologia da informação. Isso inclui conceitos como:
Hardware e Software: Compreensão dos componentes físicos de um computador (hardware) e os programas que operam nele (software).
Sistemas Numéricos: Entendimento dos sistemas de numeração binário, octal, decimal e hexadecimal, e suas conversões.
Arquitetura de Computadores: Conceitos básicos sobre a organização e arquitetura de computadores, incluindo processadores, memória, dispositivos de entrada/saída e barramentos.
Organização e Arquitetura de Computadores
Este tópico aprofunda os conhecimentos sobre a estrutura interna dos computadores e como eles executam instruções. Os principais pontos incluem:
CPU e Unidade de Controle: Funcionamento da Unidade Central de Processamento (CPU) e sua interação com a Unidade de Controle.
Memória Principal e Secundária: Diferenças entre memória RAM, ROM e armazenamento secundário, como discos rígidos e SSDs.
Barramentos: Compreensão dos barramentos de dados, endereços e controle, e como eles conectam os diferentes componentes do sistema.
Sistemas Operacionais
Os sistemas operacionais são programas que gerenciam recursos de hardware e fornecem serviços aos aplicativos. Nos concursos, é comum encontrar questões sobre:
Windows e Linux: Compreensão das características e funcionalidades dos sistemas operacionais Windows e Linux, incluindo gerenciamento de arquivos, processos e usuários.
Gerência de Processos: Conceitos como multitarefa, escalonamento de processos e comunicação entre processos.
Gerência de Memória e Entrada/Saída: Como o sistema operacional gerencia a memória RAM e os dispositivos de entrada/saída, como discos e impressoras.
Linguagens de Programação
Conhecimento em linguagens de programação é essencial para desenvolver software. Os concursos geralmente cobram:
Linguagens Procedurais e Orientadas a Objetos: Compreensão dos conceitos básicos de linguagens como PHP, Java, C e C++, incluindo variáveis, estruturas de controle e funções.
Desenvolvimento Web: Conhecimento em HTML, CSS e JavaScript para criar páginas web interativas e responsivas.
Frameworks e Tecnologias Web: Familiaridade com tecnologias como AJAX, XML e Web Services, e estruturas como AngularJS, React e Vue.js.
Desenvolvimento de Sistemas Web
Este tópico se concentra na criação e manutenção de sistemas baseados na web. Aspectos relevantes incluem:
HTML e CSS: Construção de páginas web com marcação semântica e estilização.
JavaScript: Linguagem de programação para tornar as páginas web dinâmicas e interativas.
Estruturas e Bibliotecas: Utilização de estruturas como AJAX para comunicação assíncrona com o servidor, e bibliotecas como jQuery para simplificar o desenvolvimento.
Estruturas de Dados e Algoritmos
As estruturas de dados são fundamentais para organizar e manipular informações. Tópicos importantes são:
Listas, Filas, Pilhas e Árvores: Compreensão das características e aplicações de estruturas de dados básicas.
Métodos de Acesso e Ordenação: Algoritmos para buscar, inserir e ordenar dados em estruturas como arrays e listas ligadas.
Arquitetura de Software
A arquitetura de software define a estrutura fundamental de um sistema de software. Nos concursos, é relevante entender:
Arquitetura em 3 Camadas: Conceito de separação de responsabilidades em três camadas: apresentação, lógica de negócio e acesso a dados.
Modelo MVC: Padronização da arquitetura de software em Model-View-Controller, separando dados, lógica de negócio e interface do usuário.
Bancos de Dados Relacionais e SQL
Os bancos de dados são essenciais para armazenar e recuperar informações. Pontos importantes incluem:
SQL: Linguagem padrão para manipulação de dados em bancos de dados relacionais.
SGBDs: Conhecimento sobre sistemas de gerenciamento de bancos de dados como Oracle, MySQL, PostgreSQL e SQL Server.
Modelagem de Dados: Conceitos como entidades, atributos, relacionamentos e normalização.
Governança de TI
Governança de TI trata das estruturas e processos que garantem que a TI suporte e alcance os objetivos da organização. Tópicos relevantes são:
Frameworks de Governança: Conhecimento sobre frameworks como COBIT (Control Objectives for Information and Related Technologies) e ITIL (Information Technology Infrastructure Library).
Processos de TI: Entendimento dos processos de gestão de serviços de TI, como gerenciamento de incidentes, problemas e mudanças.
Redes de Computadores
As redes de computadores permitem a comunicação entre dispositivos. Pontos importantes incluem:
Protocolos de Comunicação: Conceitos sobre protocolos como TCP/IP, HTTP, FTP, SMTP, entre outros.
Topologias de Rede: Configurações físicas e lógicas de redes, como estrela, anel e malha.
Elementos de Interconexão: Roteadores, switches, hubs e gateways, e suas funções em uma rede.
Segurança da Informação
A segurança da informação é vital para proteger dados e sistemas contra ameaças. Tópicos relevantes incluem:
Criptografia: Conceitos de criptografia simétrica e assimétrica para proteger a confidencialidade dos dados.
Certificação Digital: Uso de certificados digitais para autenticação e assinatura digital.
Firewalls e VPNs: Tecnologias para proteger redes contra acessos não autorizados e
Abaixo estão algumas questões de concurso para cada tópico mencionado:
Fundamentos de Computação
Questão 1: Qual é o valor decimal do número binário 1011?
a) 9
b) 10
c) 11
d) 12
Questão 2: O que é um software de sistema?
a) Um programa que ajuda na execução de tarefas específicas
b) Um conjunto de ferramentas para desenvolvimento de software
c) Um programa que controla o hardware e fornece serviços aos aplicativos
d) Um programa de entretenimento
Questão 3: Qual é a função do processador em um computador?
a) Armazenar dados permanentemente
b) Realizar cálculos e processar instruções
c) Exibir informações na tela
d) Controlar dispositivos de entrada/saída
Organização e Arquitetura de Computadores
Questão 4: Qual é a função da Unidade de Controle (UC) em um processador?
a) Realizar operações matemáticas e lógicas
b) Controlar a execução das instruções
c) Armazenar temporariamente dados
d) Transferir dados entre a CPU e a memória
Questão 5: O que é a memória ROM em um computador?
a) Memória utilizada para armazenar programas e dados temporários
b) Memória volátil que armazena o sistema operacional
c) Memória somente de leitura que armazena dados permanentes
d) Memória utilizada para armazenar instruções do usuário
Questão 6: O que é um barramento de dados em um computador?
a) Um dispositivo de entrada/saída
b) Um tipo de memória volátil
c) Um caminho de comunicação para transferência de dados
d) Um dispositivo de armazenamento secundário
Sistemas Operacionais
Questão 7: Qual é a principal diferença entre um sistema operacional de código aberto e um sistema operacional proprietário?
a) O custo de licenciamento
b) A facilidade de uso
c) A disponibilidade do código-fonte
d) O suporte técnico disponível
Questão 8: O que é um processo em um sistema operacional?
a) Um programa em execução
b) Um conjunto de instruções armazenadas na memória
c) Uma tarefa realizada pelo sistema operacional
d) Um dispositivo de entrada/saída
Questão 9: Qual é a função do gerenciador de memória em um sistema operacional?
a) Controlar a execução dos processos
b) Gerenciar o uso da memória RAM pelo sistema e pelos processos
c) Gerenciar a entrada e saída de dados
d) Controlar o acesso aos dispositivos de armazenamento
Linguagens de Programação
Questão 10: Qual é a diferença entre uma linguagem de programação procedural e uma linguagem de programação orientada a objetos?
a) Uma tem uma sintaxe mais simples que a outra
b) Uma é baseada em funções e a outra em objetos e classes
c) Uma é interpretada e a outra é compilada
d) Uma é usada para desenvolvimento web e a outra para aplicativos de desktop
Questão 11: O que é o DOM (Document Object Model) em JavaScript?
a) Uma biblioteca para manipulação de documentos HTML
b) Uma linguagem de programação baseada em objetos
c) Uma estrutura de dados que representa a estrutura de uma página web
d) Um modelo para comunicação com o servidor
Questão 12: Qual é a principal vantagem de usar uma linguagem como Java para o desenvolvimento de aplicativos?
a) Maior controle sobre os recursos do sistema
b) Facilidade de aprendizado
c) Portabilidade entre diferentes plataformas
d) Melhor desempenho que outras linguagens
Desenvolvimento de Sistemas Web
Questão 13: Qual é a função do CSS em uma página web?
a) Definir o conteúdo da página
b) Adicionar interatividade à página
c) Estilizar a aparência da página
d) Manipular dados na página
Questão 14: O que é AJAX em desenvolvimento web?
a) Uma linguagem de marcação para estruturar o conteúdo da página
b) Uma técnica para atualizar partes específicas da página sem recarregar a página inteira
c) Um framework para criação de interfaces de usuário responsivas
d) Um protocolo para transferência de dados entre o cliente e o servidor
Questão 15: Qual é o propósito de frameworks como React e AngularJS?
a) Facilitar a manipulação de documentos HTML
b) Simplificar a comunicação entre o cliente e o servidor
c) Auxiliar no desenvolvimento de interfaces de usuário interativas
d) Gerenciar o acesso a bancos de dados
Estruturas de Dados e Algoritmos
Questão 16: Qual é a principal diferença entre uma fila e uma pilha?
a) A fila segue o princípio "primeiro a entrar, primeiro a sair", enquanto a pilha segue o princípio "último a entrar, primeiro a sair"
b) A fila é uma estrutura de dados linear, enquanto a pilha é uma estrutura de dados não linear
c) A fila permite acesso aleatório aos elementos, enquanto a pilha não permite
d) A fila suporta operações de inserção e remoção em ambos os extremos, enquanto a pilha suporta apenas no topo
Questão 17: Qual é a complexidade de tempo da busca binária em uma lista ordenada?
a) O(n)
b) O(log n)
c) O(n log n)
d) O(1)
Arquitetura de Software
Questão 19: Qual é o principal objetivo da arquitetura em três camadas em um sistema de software?
a) Separar a interface do usuário da lógica de negócios e dos dados
b) Reduzir o tempo de resposta do sistema
c) Minimizar o consumo de recursos do servidor
d) Integrar diferentes sistemas legados
Questão 20: Em uma aplicação que utiliza o modelo MVC (Model-View-Controller), qual componente é responsável por manipular a lógica de negócios?
a) Modelo
b) Visão
c) Controlador
d) Banco de Dados
Questão 21: Qual é a vantagem de adotar uma arquitetura em microserviços em comparação com uma arquitetura monolítica?
a) Maior modularidade e escalabilidade
b) Menor complexidade de implantação
c) Maior desempenho e menor latência
d) Melhor suporte para integração de sistemas legados
Bancos de Dados Relacionais e SQL
Questão 22: Qual é a finalidade da cláusula WHERE em uma instrução SQL SELECT?
a) Filtrar os resultados com base em uma condição especificada
b) Ordenar os resultados em ordem crescente ou decrescente
c) Agrupar os resultados com base em uma coluna específica
d) Limitar o número de linhas retornadas pela consulta
Questão 23: O que é uma chave estrangeira em um banco de dados relacional?
a) Uma coluna que identifica exclusivamente cada registro em uma tabela
b) Uma coluna que referencia a chave primária de outra tabela
c) Uma coluna que é automaticamente incrementada a cada novo registro
d) Uma restrição que impede a duplicação de valores em uma coluna
Questão 24: Qual é a diferença entre os comandos SQL INSERT e UPDATE?
a) INSERT adiciona um novo registro à tabela, enquanto UPDATE modifica um registro existente
b) INSERT adiciona uma nova tabela ao banco de dados, enquanto UPDATE altera a estrutura da tabela
c) INSERT adiciona uma nova coluna à tabela, enquanto UPDATE altera o tipo de dados de uma coluna existente
d) INSERT adiciona uma nova linha à consulta, enquanto UPDATE modifica uma condição específica
Governança de TI
Questão 25: Qual é o objetivo principal do framework COBIT (Control Objectives for Information and Related Technologies)?
a) Gerenciar os serviços de TI de uma organização de acordo com as melhores práticas
b) Padronizar a arquitetura de software em organizações de grande porte
c) Fornecer diretrizes para o desenvolvimento de aplicativos móveis
d) Melhorar a comunicação entre equipes de desenvolvimento e operações
Questão 26: O que é ITIL (Information Technology Infrastructure Library)?
a) Um conjunto de práticas para o gerenciamento de serviços de TI
b) Uma linguagem de programação para desenvolvimento web
c) Um sistema de controle de versão de código-fonte
d) Um protocolo de comunicação para redes de computadores
Questão 27: Qual é o papel do gerenciamento de mudanças na governança de TI?
a) Assegurar que as mudanças nos sistemas de informação sejam planejadas, avaliadas, autorizadas, implementadas e documentadas de forma controlada
b) Monitorar a segurança dos dados em sistemas de armazenamento em nuvem
c) Fornecer suporte técnico aos usuários finais
d) Gerenciar o ciclo de vida de aplicativos de software
Redes de Computadores
Questão 28: Qual é a função de um roteador em uma rede de computadores?
a) Encaminhar pacotes de dados entre redes distintas
b) Transmitir sinais de rede por meio de cabos de cobre
c) Armazenar temporariamente dados em cache
d) Identificar e corrigir erros de transmissão
Questão 29: O que é o protocolo TCP/IP e qual é o seu papel em uma rede de computadores?
a) Um protocolo de comunicação usado para transmitir e receber emails
b) Um protocolo de segurança utilizado para criptografar conexões de rede
c) Um conjunto de protocolos que define a comunicação entre dispositivos em uma rede
d) Um padrão de codificação usado para representar caracteres em sistemas de computadores
Questão 30: Qual é a principal diferença entre uma rede LAN (Local Area Network) e uma rede WAN (Wide Area Network)?
a) O alcance geográfico da rede
b) A velocidade de transmissão de dados
c) O tipo de tecnologia de transmissão utilizada
d) O número de dispositivos conectados à rede
Em resumo, os tópicos abordados são fundamentais para quem busca compreender os princípios da computação e da tecnologia da informação, especialmente para aqueles que se preparam para concursos na área. Desde os fundamentos básicos da computação até questões mais avançadas, como desenvolvimento de sistemas, arquitetura de software e governança de TI, cada tópico desempenha um papel crucial no conhecimento prático e teórico necessários para profissionais da área de TI.
Além disso, as questões de concurso fornecidas são apenas exemplos de como esses temas podem ser abordados em avaliações formais. Estudar e compreender esses conceitos em profundidade não apenas ajuda a passar em concursos, mas também prepara os profissionais para enfrentar os desafios do mundo real no campo da tecnologia da informação.
Portanto, investir tempo e esforço no estudo desses tópicos é essencial para quem busca uma carreira de sucesso no campo da computação e da tecnologia da informação, seja em concursos públicos, no mercado de trabalho ou em projetos pessoais.
Fundamentos de computação, organização e arquitetura de computadores:
Pergunta: Explique o que é a arquitetura de Von Neumann e como ela influencia o funcionamento dos computadores modernos.
Resposta: A arquitetura de Von Neumann é um modelo de computador baseado em um conceito que separa a unidade de armazenamento (memória) da unidade de processamento (CPU). Isso permite que instruções e dados sejam armazenados na mesma memória e manipulados pela CPU de forma sequencial. Isso influencia os computadores modernos, pois a maioria segue esse modelo básico de arquitetura, com uma CPU que executa instruções armazenadas em memória.
Pergunta: Qual é a diferença entre memória RAM e memória ROM em um computador?
Resposta: A memória RAM (Random Access Memory) é volátil e usada para armazenar temporariamente dados e programas em execução. Ela permite a leitura e escrita de dados, e seu conteúdo é perdido quando o computador é desligado. Já a memória ROM (Read-Only Memory) é não volátil e geralmente usada para armazenar o firmware do sistema, como o BIOS. Seu conteúdo é gravado permanentemente durante a fabricação e não pode ser alterado durante a operação normal do computador.
Pergunta: O que é uma CPU e quais são suas principais funções em um computador?
Resposta: A CPU (Central Processing Unit) é o cérebro do computador, responsável por executar instruções e realizar operações aritméticas e lógicas. Suas principais funções incluem buscar instruções na memória, decodificar essas instruções, executá-las e armazenar os resultados.
Sistemas operacionais (Windows e Linux), gerência de processos, memória e entrada/saída:
Pergunta: Descreva o que é um processo em um sistema operacional e explique a diferença entre processo e thread.
Resposta: Um processo é um programa em execução, juntamente com seu espaço de endereçamento e recursos associados, como threads e arquivos abertos. Uma thread é uma unidade de execução dentro de um processo e compartilha o mesmo espaço de endereçamento. A principal diferença é que um processo possui seu próprio contexto de execução, incluindo registradores e pilha, enquanto threads compartilham o mesmo contexto dentro de um processo.
Pergunta: Qual é a função do gerenciador de memória em um sistema operacional e quais são as principais técnicas de gerenciamento de memória?
Resposta: O gerenciador de memória em um sistema operacional é responsável por controlar o uso da memória física pelo sistema e pelos processos em execução. As principais técnicas de gerenciamento de memória incluem paginação, segmentação, swapping e gerenciamento de memória virtual.
Pergunta: Explique o que é E/S (entrada/saída) em um sistema computacional e por que é importante para o funcionamento do sistema operacional.
Resposta: E/S (entrada/saída) se refere à comunicação entre o computador e dispositivos externos, como teclado, mouse, disco rígido, impressora, etc. É importante para o funcionamento do sistema operacional porque permite que os usuários interajam com o computador e que os processos acessem e manipulem dados armazenados em dispositivos de armazenamento externos.
Linguagens de programação, incluindo procedurais e orientadas a objetos, como PHP e Java:
Pergunta: Qual é a diferença entre linguagens de programação procedurais e orientadas a objetos? Dê exemplos de linguagens em cada categoria.
Resposta: Linguagens de programação procedurais, como C e Pascal, são baseadas em procedimentos ou rotinas, que manipulam dados através de instruções sequenciais. Linguagens orientadas a objetos, como Java e C++, organizam o código em objetos, que têm propriedades e métodos associados. Isso permite a modelagem de problemas de forma mais próxima do mundo real.
Pergunta: Explique o que é polimorfismo em programação orientada a objetos e forneça um exemplo.
Resposta: Polimorfismo é a capacidade de objetos de diferentes classes responderem ao mesmo método de maneiras diferentes. Por exemplo, em Java, classes diferentes podem implementar o mesmo método de uma interface de maneiras diferentes, permitindo que diferentes objetos se comportem de forma polimórfica quando chamam o mesmo método.
Pergunta: Qual é a diferença entre uma linguagem de programação interpretada e uma compilada? Dê exemplos de cada tipo.
Resposta: Uma linguagem de programação compilada é traduzida para código de máquina antes da execução, enquanto uma interpretada é traduzida e executada linha por linha durante a execução. Exemplos de linguagens compiladas incluem C e C++, enquanto Python e JavaScript são exemplos de linguagens interpretadas.
Desenvolvimento de sistemas web, incluindo HTML, CSS, JavaScript, e estruturas como AJAX, XML, Web Services:
Pergunta: Descreva a diferença entre HTML e CSS e explique como eles trabalham juntos para criar páginas da web.
Resposta: HTML (Hypertext Markup Language) é uma linguagem de marcação usada para estruturar o conteúdo de uma página da web, enquanto CSS (Cascading Style Sheets) é usada para estilizar o layout e a aparência dessa página. Eles trabalham juntos através da associação de regras de estilo definidas em arquivos CSS com elementos HTML, permitindo controlar a apresentação visual da página.
Pergunta: O que é AJAX e como ele é usado no desenvolvimento web?
Resposta: AJAX (Asynchronous JavaScript and XML) é uma técnica de programação que permite atualizar partes de uma página web sem recarregar a página inteira. Isso é feito enviando solicitações HTTP assíncronas para o servidor, recebendo dados em formato XML, JSON ou outros, e atualizando dinamicamente o conteúdo da página com JavaScript.
Pergunta: Explique o conceito de Web Services e forneça exemplos de sua utilização.
Resposta: Web Services são sistemas de software projetados para permitir a comunicação entre diferentes aplicativos pela internet. Eles geralmente são baseados em padrões abertos e usam protocolos como SOAP (Simple Object Access Protocol) ou REST (Representational State Transfer) para trocar dados entre sistemas heterogêneos. Exemplos de Web Services incluem serviços de pagamento online, APIs de mídia social e sistemas de reserva de viagens.
Estruturas de dados e algoritmos, como listas, filas, pilhas e árvores, e métodos de acesso e ordenação:
Pergunta: Explique o conceito de uma fila (queue) em estruturas de dados e forneça uma aplicação prática.
Resposta: Uma fila é uma estrutura de dados que segue o princípio "primeiro a entrar, primeiro a sair" (FIFO - First In, First Out). Elementos são inseridos no final da fila e removidos do início. Uma aplicação prática seria a simulação de um sistema de atendimento ao cliente, onde as solicitações são processadas na ordem em que foram recebidas.
Pergunta: Como funciona o algoritmo de ordenação QuickSort e qual é sua complexidade de tempo médio?
Resposta: O algoritmo QuickSort funciona dividindo o array em subarrays menores, escolhendo um elemento como pivô, rearranjando os elementos de forma que os menores que o pivô fiquem antes e os maiores depois, e então recursivamente aplicando o mesmo processo aos subarrays. Sua complexidade de tempo médio é O(n log n), onde n é o número de elementos no array.
Pergunta: O que é uma árvore binária de busca e qual é sua vantagem em relação a outras estruturas de dados?
Resposta: Uma árvore binária de busca é uma estrutura de dados em que cada nó possui no máximo dois filhos, e a chave de cada nó é maior que todas as chaves em sua subárvore esquerda e menor que todas as chaves em sua subárvore direita. Sua principal vantagem é que as operações de busca, inserção e remoção têm complexidade média de tempo O(log n), onde n é o número de elementos na árvore.
Arquitetura de software, como arquitetura em 3 camadas e modelo MVC:
Pergunta: Descreva o que é a arquitetura em 3 camadas em desenvolvimento de software e explique suas vantagens.
Resposta: A arquitetura em 3 camadas é um estilo arquitetural que divide um sistema em três camadas distintas: apresentação, lógica de negócios e acesso a dados. Isso facilita a manutenção, a escalabilidade e a reutilização do código, além de promover a separação de preocupações e a modularidade do sistema.
Pergunta: Qual é o padrão MVC (Model-View-Controller) e como ele é aplicado no desenvolvimento de software?
Resposta: O padrão MVC é um padrão de projeto que separa uma aplicação em três componentes principais: o Modelo (Model), que representa os dados e a lógica de negócios, a Visão (View), que representa a interface com o usuário, e o Controlador (Controller), que atua como intermediário entre o Modelo e a Visão, gerenciando as interações do usuário e atualizando o Modelo e a Visão conforme necessário.
Pergunta: Quais são os benefícios de usar o padrão MVC em um projeto de software?
Resposta: Os benefícios incluem a separação clara de responsabilidades, facilitando a manutenção e a evolução do sistema, a reutilização de componentes, permitindo que diferentes partes do sistema sejam modificadas independentemente umas das outras, e a facilidade de teste, pois cada componente pode ser testado separadamente.
Bancos de dados relacionais, SQL e SGBDs como Oracle, MySQL, PostgreSQL e SQL Server:
Pergunta: Explique o que é uma chave primária em um banco de dados relacional e qual é sua importância.
Resposta: Uma chave primária é um conjunto de um ou mais atributos que identificam exclusivamente cada registro em uma tabela. Sua importância reside no fato de garantir a integridade e consistência dos dados, evitando duplicatas e permitindo a referência a registros específicos de forma eficiente.
Pergunta: Qual é a diferença entre as cláusulas SQL "WHERE" e "HAVING" e quando devem ser usadas?
Resposta: A cláusula "WHERE" é usada para filtrar linhas com base em uma condição especificada, enquanto a cláusula "HAVING" é usada para filtrar grupos de linhas retornados por uma instrução "GROUP BY". "WHERE" é aplicado antes da agregação, enquanto "HAVING" é aplicado após a agregação.
Pergunta: Explique o que é uma transação em um banco de dados e por que é importante para a integridade dos dados.
Resposta: Uma transação é uma sequência de operações que formam uma unidade lógica de trabalho, que deve ser executada de forma completa e consistente, garantindo a integridade dos dados. É importante para a integridade dos dados porque permite que várias operações sejam tratadas como uma única operação atômica, garantindo que as mudanças sejam refletidas no banco de dados de forma consistente e durável.
Governança de TI, frameworks como COBIT 4.1 e ITIL v.3:
Pergunta: Qual é o objetivo principal do framework COBIT (Control Objectives for Information and Related Technologies) e como ele é usado na prática?
Resposta: O objetivo principal do COBIT é fornecer um conjunto de práticas e diretrizes para governança e gestão de TI, alinhando os objetivos de negócio com os recursos de TI e garantindo a eficácia, eficiência, confidencialidade, integridade, disponibilidade e conformidade dos sistemas de informação. Ele é usado na prática para avaliar e melhorar os processos de governança de TI em uma organização.
Pergunta: O que é o framework ITIL (Information Technology Infrastructure Library) e qual é sua importância para as empresas?
Resposta: O ITIL é um conjunto de práticas recomendadas para a gestão de serviços de TI, com foco na entrega de valor aos clientes por meio de serviços de alta qualidade e alinhados aos objetivos de negócio. Sua importância para as empresas reside no fato de que fornece um conjunto de processos, funções e melhores práticas para a gestão eficaz de serviços de TI, ajudando a aumentar a eficiência operacional, reduzir os custos, melhorar a satisfação do cliente e alinhar os serviços de TI com as necessidades do negócio.
Pergunta: Quais são os principais processos abordados pelo framework COBIT e como eles se relacionam com a governança de TI?
Resposta: Alguns dos principais processos abordados pelo COBIT incluem Planejar e Organizar (PO), Adquirir e Implementar (AI), Entregar e Suportar (DS), Monitorar e Avaliar (ME), e Direcionar e Controlar (ED). Esses processos estão relacionados com a governança de TI ao fornecer estrutura e direção para as atividades de TI, garantindo que os objetivos de negócio sejam alcançados de forma eficaz e alinhada com os requisitos regulatórios e de conformidade.
Redes de computadores, protocolos de comunicação, topologias, e elementos de interconexão:
Pergunta: Explique o que é um endereço IP e como ele é usado em redes de computadores.
Resposta: Um endereço IP (Internet Protocol) é um identificador numérico atribuído a cada dispositivo em uma rede de computadores que utiliza o protocolo IP para comunicação. Ele é usado para rotear pacotes de dados entre dispositivos em redes TCP/IP, permitindo a comunicação entre eles.
Pergunta: Quais são as principais diferenças entre as topologias de rede em estrela e em anel?
Resposta: Na topologia de rede em estrela, cada dispositivo está conectado a um único ponto central, como um switch ou hub, enquanto na topologia em anel, os dispositivos são conectados em série formando um circuito fechado. Na topologia em estrela, a falha de um dispositivo não afeta os outros, enquanto na topologia em anel, a falha de um dispositivo pode interromper toda a rede.
Pergunta: O que é um firewall em uma rede de computadores e qual é sua função principal?
Resposta: Um firewall é um dispositivo ou software que controla o tráfego de rede com base em um conjunto de regras de segurança predefinidas. Sua função principal é proteger a rede contra acessos não autorizados, filtrando o tráfego com base em endereços IP, portas e protocolos, e impedindo a propagação de malware e ataques cibernéticos.
Segurança da informação, incluindo criptografia, certificação digital, firewalls, VPNs, e práticas de segurança de redes e sistemas:
Pergunta: Explique o que é criptografia e como ela é usada para proteger dados em trânsito e armazenados.
Resposta: Criptografia é o processo de converter dados em formato ilegível, chamado de texto cifrado, usando um algoritmo e uma chave, para protegê-los contra acesso não autorizado. Ela é usada para proteger dados em trânsito, como durante a transmissão pela internet, e dados armazenados, como arquivos em um disco rígido, garantindo que apenas destinatários autorizados possam acessá-los.
Pergunta: O que é uma VPN (Virtual Private Network) e como ela funciona?
Resposta: Uma VPN é uma rede privada virtual que estabelece uma conexão segura e criptografada sobre uma rede pública, como a internet, permitindo que usuários remotos acessem recursos de rede de forma segura como se estivessem fisicamente conectados à rede privada. Ela funciona criando um túnel seguro entre o dispositivo do usuário e o servidor VPN, protegendo o tráfego de rede contra interceptação e garantindo a privacidade e a confidencialidade dos dados.
Pergunta: Quais são algumas práticas recomendadas para garantir a segurança de redes e sistemas de informação?
Resposta: Algumas práticas recomendadas incluem o uso de firewalls para proteger a rede contra acessos não autorizados, a implementação de políticas de senha forte e autenticação multifatorial para proteger contas de usuário, a aplicação de patches e atualizações de segurança regularmente para corrigir vulnerabilidades conhecidas, e a realização de backups regulares para garantir a disponibilidade e a integridade dos dados em caso de falha ou ataque.
Metodologias ágeis, como SCRUM, XP, FDD, MDA e MDD:
Pergunta: Descreva os princípios básicos da metodologia ágil SCRUM e como ela é aplicada no desenvolvimento de software.
Resposta: O SCRUM é uma metodologia ágil de desenvolvimento de software que se baseia em ciclos curtos e interativos, chamados de sprints, durante os quais uma equipe trabalha em incrementos do produto. Ele enfatiza a colaboração, a comunicação e a entrega contínua de valor ao cliente, usando um conjunto de papéis, artefatos e reuniões, como o Product Owner, o Scrum Master, o Product Backlog, o Sprint Backlog e as reuniões diárias de stand-up.
Pergunta: O que é o Extreme Programming (XP) e quais são seus princípios fundamentais?
Resposta: O Extreme Programming (XP) é uma metodologia ágil de desenvolvimento de software que se concentra na melhoria da qualidade do código, na resposta rápida a mudanças nos requisitos e no envolvimento do cliente. Seus princípios fundamentais incluem comunicação constante com o cliente, feedback rápido, desenvolvimento orientado a testes, integração contínua, design simples, refatoração frequente e programação em pares.
Pergunta: Qual é a diferença entre Model-Driven Architecture (MDA) e Model-Driven Development (MDD)?
Resposta: A Model-Driven Architecture (MDA) é uma abordagem de desenvolvimento de software que enfatiza a separação clara entre o modelo de negócio e a implementação técnica, usando modelos formais para representar o sistema em diferentes níveis de abstração. Já o Model-Driven Development (MDD) é uma abordagem de desenvolvimento de software que se baseia na automação da geração de código a partir de modelos de alto nível, reduzindo a necessidade de escrever código manualmente. Enquanto a MDA se concentra na arquitetura e na transformação de modelos em implementações técnicas, a MDD se concentra na automação do processo de desenvolvimento, usando modelos como artefatos principais para gerar código executável.
Qualidade de software, modelos de qualidade como ISO/IEEE e CMM/CMMI:
Pergunta: O que é o modelo CMMI (Capability Maturity Model Integration) e como ele é usado para melhorar a qualidade de software?
Resposta: O CMMI é um modelo de referência que descreve as melhores práticas associadas à maturidade de processos em organizações de desenvolvimento de software. Ele fornece um conjunto de diretrizes e critérios para avaliar e melhorar a capacidade das organizações de fornecer produtos e serviços de alta qualidade de forma consistente. O CMMI é usado para identificar áreas de melhoria nos processos de uma organização e implementar ações corretivas para alcançar níveis mais altos de maturidade e qualidade.
Pergunta: Quais são os principais componentes do modelo ISO/IEEE 12207 e como ele é aplicado no desenvolvimento de software?
Resposta: O modelo ISO/IEEE 12207 é um padrão internacional que define um processo de ciclo de vida para o desenvolvimento de software e sistemas de informação. Seus principais componentes incluem processos de ciclo de vida, atividades, tarefas e marcos associados à gestão de projetos, engenharia de sistemas e desenvolvimento de software. Ele é aplicado no desenvolvimento de software como um guia para a definição, implementação e melhoria dos processos organizacionais necessários para produzir software de alta qualidade de forma consistente e previsível.
Pergunta: Explique o conceito de garantia da qualidade de software e como ele se relaciona com os modelos de qualidade.
Resposta: Garantia da qualidade de software é o processo de garantir que os produtos e processos de software atendam aos requisitos de qualidade especificados. Isso envolve a implementação de políticas, procedimentos e práticas de gestão de qualidade ao longo do ciclo de vida do software, desde a concepção até a entrega e manutenção. Os modelos de qualidade, como o CMMI e o ISO/IEEE 12207, fornecem diretrizes e critérios para a garantia da qualidade, ajudando as organizações a estabelecer e manter padrões de qualidade consistentes em seus produtos e processos de software.
Essas questões e respostas abrangem uma ampla gama de tópicos relacionados à computação, sistemas de informação e desenvolvimento de software, com foco nos aspectos mais relevantes para concursos e avaliações na área de tecnologia da informação. Espero que isso seja útil para o seu estudo e preparação!
Leia mais em: ww.fundatec.org.br/portal/con...